/*
 * @Author: Clark
 * @Email: haixuanwoTxh@gmail.com
 * @Date: 2022-10-14 11:34:48
 * @LastEditors: Clark
 * @LastEditTime: 2022-10-15 10:34:19
 * @Description: file content
 */

#ifndef COMMON_H
#define COMMON_H

#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <stdbool.h>
#include <unistd.h>
#include <sys/time.h>

#include <iostream>
#include <chrono>
#include <string>
#include <vector>
#include <memory>

#include "file.h"
#include "timer.h"
#include "socket.h"
#include "debug_log.h"

using std::vector;
using std::string;
using std::shared_ptr;
using std::make_shared;

/**
 * @brief 以十六进制打印数据
 * @param info  信息
 * @param data	数据
 * @param dataLen 数据长度
 */
bool print_data_in_hex(const char* info, uint8_t *data, int dataLen);

/**
 * @brief 设置数值到2字节空间
 * @param value 数值
 * @param buf 设置的地址
 */
void set_value_to_2Byte_buf(uint16_t value, uint8_t *buf);

/**
 * @brief 获取2字节空间中的数值
 * @param  buf 获取的地址
 * @param  value 获取的数值
 */
void get_value_from_2Byte_buf(uint8_t *buf, uint16_t *value);

/**
 * @brief   重置性能测试
 */
void start_performance_test(void);

/**
 * @brief 结束性能测试
 * @param info  测试相关信息
 */
void end_performance_test(const char *info);

#endif
